package com.zhou.service.impl;

import com.zhou.mapper.EurekaMapper;
import com.zhou.pojo.Register;
import com.zhou.service.EurekaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

@Service
public class EurekaServiceImpl implements EurekaService {
    @Autowired
    private EurekaMapper eurekaMapper;


    @Transactional
    public void saveUser(Register register) {

        System.out.println("注册服务:");
        eurekaMapper.insertSelective(register);
    }

    public void update(Register register) {
        //第一个参数 是要修改的部分值组成的对象，其中有些属性为null则表示该项不修改。

        String statusTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); //当前时间
        register.setStatus(statusTime);

        // 第二个参数 是一个对应的查询条件的类， 通过这个类可以实现 order by 和一部分的where 条件。
        Example example = new Example(Register.class);
        example.createCriteria().andEqualTo("ip", register.getIp());

        eurekaMapper.updateByExampleSelective(register, example);
    }

    public void delete(int id) {
        eurekaMapper.deleteByPrimaryKey(id);
    }

    public List<Register> findAll() {
        return eurekaMapper.selectAll();
    }

    @Override
    public Register findById(Integer id) {
        return eurekaMapper.selectByPrimaryKey(id);
    }
}
